package com.gitee.wsl.compose.chart.pie

import com.gitee.wsl.compose.chart.pie.model.PieSliceData
import com.gitee.wsl.compose.ui.container.hoverable.HoverableElementAreaScope


/**
 * Scope for Pie slices.
 * @property pieSliceData [PieSliceData] describing the slice
 * @property innerRadius The inside radius of the slice, as a fraction of its constraint's width,
 * must be between 0 and 1 inclusive
 * @property outerRadius The outside radius of the slice, as a fraction of its constraint's width,
 * must be between 0 and 1 inclusive
 */
 interface PieSliceScope : HoverableElementAreaScope {
     val pieSliceData: PieSliceData
     val innerRadius: Float
     val outerRadius: Float
}

data class PieSliceScopeImpl(
    override val pieSliceData: PieSliceData,
    override val innerRadius: Float,
    override val outerRadius: Float,
    val hoverableElementAreaScope: HoverableElementAreaScope
) : PieSliceScope, HoverableElementAreaScope by hoverableElementAreaScope

